package com.donleo.oauth2;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;
import org.springframework.cloud.openfeign.EnableFeignClients;

/**
 * 授权服务 (Authorization Server）应包含对接入端以及登入用户的合法性进行验证并颁发token等功能，
 * 对令牌 的请求端点由 Spring MVC 控制器进行实现，
 * 下面是配置一个认证服务必须要实现的endpoints：
 * <p>
 * AuthorizationEndpoint 服务于认证请求。默认 URL： /oauth/authorize 。
 * TokenEndpoint 服务于访问令牌的请求。默认 URL： /oauth/token 。
 * <p>
 * 认证流程
 * <p>
 * 1、客户端请求UAA授权服务进行认证。
 * 2、认证通过后由UAA颁发令牌。
 * 3、客户端携带令牌Token请求资源服务。
 *
 * @author liangd
 * @since 2021-03-10 11:37
 */
@SpringBootApplication
@EnableDiscoveryClient
@EnableHystrix
@EnableFeignClients(basePackages = {"com.donleo.oauth2.uaa"})
public class UAAServer {
    public static void main(String[] args) {
        SpringApplication.run(UAAServer.class, args);
    }
}
